Specialization of Generic Array Accesses After Inlining
نویسندگان
چکیده
منابع مشابه
Specialization of Generic Array Accesses After Inlining
We have implemented an optimization that specializes type-generic array accesses after inlining of polymorphic functions in the native-code OCaml compiler. Polymorphic array operations (read and write) in OCaml require runtime type dispatch because of ad hoc memory representations of integer and float arrays. It cannot be removed even after being monomorphized by inlining because the intermedia...
متن کاملOptimisation of Generic Programs Through Inlining
It is known that datatype-generic programs often run slower than typespecific variants, and this factor can prevent adoption of generic programming altogether. There can be multiple reasons for the performance penalty, but often it is caused by conversions to and from representation types that do not get eliminated during compilation. However, it is also known that generic functions can be spec...
متن کاملOptimizing Array Accesses in High Productivity Languages
One of the outcomes of DARPA’s HPCS program has been the creation of three new high productivity languages: Chapel, Fortress, and X10. While these languages have introduced improvements in language expressiveness and programmer productivity, several technical challenges still remain in delivering high performance with these languages. In the absence of optimization, the high-level language cons...
متن کاملA Generic Framework for Specialization ( Abridged
We present a generic framework for specifying and implementing ooine partial evaluators. The framework provides the infrastructure for specializing higher-order programs with computational effects speciied through a monad. It performs sound specialization for all monadic instances and is evaluation-order independent. It subsumes most previously published partial evaluators for higher-order func...
متن کاملPartial Inlining
Technical Summary 1 Motivation Subprogram inlining is an optimization that has been studied extensively in the By replacing a procedure call with a copy of the body of the called procedure, it ooers a number of beneets: the overhead associated with the procedure call is eliminated; the inlined code can be optimized for the particular call site that was expanded; and the caller's code can potent...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Electronic Proceedings in Theoretical Computer Science
سال: 2017
ISSN: 2075-2180
DOI: 10.4204/eptcs.241.4